import allure
from playwright.sync_api import Page

"""
主页
"""
class IndexPage:

    def __init__(self, page: Page):
        # 页面对象
        self.page = page

        # 导航路径
        self.url = "/xxl-job-admin/"

        # “任务管理”、“执行器管理”、“用户管理”菜单定位器
        self.locator_job_manage_menu = page.get_by_role("link", name="任务管理")
        self.locator_executor_manage_menu = page.get_by_role("link", name="执行器管理")
        self.locator_user_manage_menu = page.get_by_role("link", name="用户管理")

        # 内容页头部
        self.locator_content_header = page.locator("xpath=/html/body/div[2]/div[2]/section[1]")

    def navigate(self):
        with allure.step(f"导航到主页:{self.url}"):
            self.page.goto(self.url)

    def click_job_manage_menu(self):
        with allure.step("点击任务管理"):
            self.locator_job_manage_menu.click()

    def click_executor_manage_menu(self):
        with allure.step("点击执行器管理"):
            self.locator_executor_manage_menu.click()

    def click_user_manage_menu(self):
        with allure.step("点击用户管理"):
            self.locator_user_manage_menu.click()


